node.jsのいろいろなモジュール38 – XMLとJSONの相互変換
XMLとJSONを変換
node.jsではデータをJSONでやり取りすることも多いです。 しかし、アプリやサービスによってはXMLデータが使われることもあります。 そんなとき、今回紹介するxmljsonモジュールを使用すると、簡単に相互変換を行うことができます。
環境構築方法
今回使用した動作環境は以下のとおりです。
- OS : MacOS X 10.7.5
- Node.js : v0.10.8
- npm : 1.2.23
npmを使用してxmljsonモジュールをインストールしましょう。
% mkdir xmljson % cd xmljson % npm init //入力は全部デフォルトでいいです % npm install xmljson --save
サンプルプログラム作成
まずはXMLからJSONへ変換する方法です。xmljsonモジュールのto_json関数を使用してXMLからJSONへ変換します。
var to_json = require('xmljson').to_json; //XML文字列を作成 var xml = '<myData>' + '<tag1>value1</tag1>' + '<tag2>value2</tag2>' + '<tag3>value3</tag3>' + '</myData>'; to_json(xml, function (error, data) { console.log(data); // -> { myData: { tag1: 'value1', tag2: 'value2', tag3: 'value3' } } });
JSONからXMLへの変換も簡単です。to_xml関数を使ってJSONからXMLに変換することができます。
var to_xml = require('xmljson').to_xml; //JSオブジェクトを作成 var obj = { name:"myobject", child:{ name:"child object", type:"object" } }; //オブジェクトをJSON文字列に変換 var json = JSON.stringify(obj); to_xml(json, function (error, xml) { console.log(xml); // -> <data><name>myobject</name><child><name>child object</name><type>object</type></child></data> });
まとめ
XML/JSON、どちらの変換も簡単に行うことができます。便利ですね。